$(function () {
    layui.use(['upload', 'element', 'layer', 'form'], function () {
        var $ = layui.jquery
            , upload = layui.upload
            , element = layui.element
            , layer = layui.layer;
        let form = layui.form;
        let img = ""
        findAllType();

        const E = window.wangEditor;
        const editor = new E('#remark');
        const editUrl = '/upload';//服务器访问地址
        editor.customConfig.uploadImgShowBase64 = true;  // 使用 base64 保存图片
        editor.customConfig.uploadImgServer = editUrl; // 上传图片到服务器
        editor.customConfig.showLinkImg = false;// 隐藏“网络图片”tab
        //配置属性名称，绑定请求的图片数据
        editor.customConfig.uploadFileName = 'wangEditorUrl';
        editor.customConfig.withCredentials = true;
        // 将图片大小限制为 5M
        editor.customConfig.uploadImgMaxSize = 5 * 1024 * 1024;
        editor.customConfig.uploadImgHooks = {

            success: function (xhr, editor, result) {
                // 图片上传并返回结果，图片插入成功之后触发
                // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
                console.log(result);
            },
            // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式，可使用该配置
            // （但是，服务器端返回的必须是一个 JSON 格式字符串！！！否则会报错）
            customInsert: function (insertImg, result, editor) {
                // 图片上传并返回结果，自定义插入图片的事件（而不是编辑器自动插入图片！！！）
                // insertImg 是插入图片的函数，editor 是编辑器对象，result 是服务器端返回的结果

                // 举例：假如上传图片成功后，服务器端返回的是 {url:'....'} 这种格式，即可这样插入图片：
                let url = result.data;
                console.log(url);
                insertImg(url)//回显到富文本里面
                // result 必须是一个 JSON 格式字符串！！！否则报错
            }
        };

        //富文本创建
        editor.create();
        ;

        //常规使用 - 普通图片上传
        var uploadInst = upload.render({
            elem: '#test1'
            , url: '/upload' //此处用的是第三方的 http 请求演示，实际使用时改成您自己的上传接口即可。
            , before: function (obj) {
                //预读本地文件示例，不支持ie8
                obj.preview(function (index, file, result) {
                    $('#upload').attr('src', result); //图片链接（base64）
                });
            }
            , done: function (res) {
                //如果上传失败
                if (res.code > 0) {
                    return layer.msg('上传失败');
                }
                //上传成功的一些操作
                console.log(res)
                img = res.data

                $('#demoText').html(''); //置空上传失败的状态
            }
        });

        function findAllType() {
            $.ajax({
                url: '/back/productType/findAll',
                data: {enable: 1},
                type: 'get',
                dataType: 'json',
                success: function (res) {
                    console.log(res);
                    //    将得到的值赋值给下拉菜单
                    setTypeData(res.data);
                }
            })
        }

        function setTypeData(data) {
            let html = '';
            for (let i = 0; i < data.length; i++) {
                html += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
            }
            $('#typename').html(html);
            form.render();
        }

        //监听提交
        form.on('submit(add)',
            function (data) {
                data = data.field;
                data.img = img;
                data.remark = editor.txt.html()
                console.log(data);
                $.ajax({
                    url: '/back/product/add',
                    data: data,
                    type: 'post',
                    dataType: 'json',
                    success: function (res) {
                        if (res.count > 0) {
                            layer.alert("增加成功", {
                                    icon: 6
                                },
                                function () {
                                    //关闭当前frame
                                    xadmin.close();

                                    // 可以对父窗口进行刷新
                                    xadmin.father_reload();
                                });
                        } else {
                            layer.alert("添加失败",
                                function () {
                                    //关闭当前frame
                                    xadmin.close();

                                    // 可以对父窗口进行刷新
                                    xadmin.father_reload();
                                });

                        }
                    }
                })
                return false;
            });

    })
})